package com.my.behaviourtype.state;
/**
 * 状态模式(State Pattern)是设计模式的一种，属于行为模式。
　　定义(源于Design Pattern)：当一个对象的内在状态改变时允许改变其行为，这个对象看起来像是改变了其类。
　　状态模式主要解决的是当控制一个对象状态的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类中，可以把复杂的判断逻辑简化。
　　意图：允许一个对象在其内部状态改变时改变它的行为
　　适用场景：
　　1.一个对象的行为取决于它的状态，并且它必须在运行时刻根据状态改变它的行为。
　　2.一个操作中含有庞大的多分支结构，并且这些分支决定于对象的状态。
 */
public class Test {

	public static void main(String[] args) {
		File file = new File();
		FileState openState = new OpenState();
		file.setState(openState);
		file.operation();
		
		FileState closeState = new CloseState();
		file.setState(closeState);
		file.operation();
		
	}

}
